#ifdef a
#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>

typedef int TYPE1;
typedef struct DListNode {
	TYPE1 val;
	struct DListNode* next;
	struct DListNode* prev;
}ListNode;

ListNode* ListNodeHeadCreate();//头节点的建立

ListNode* BuyDlistNode(TYPE1 val);//节点的创建

void DListNodePushBack(ListNode* head, TYPE1 val);//尾插 
void DListNodePopBack(ListNode* head);//尾删
void DListNodePushHead(ListNode* head, TYPE1 val);//头插
void DListNodePopHead(ListNode* head);//头删
void DListNodePushPos(ListNode* pos, TYPE1 val);//任意位置插入
void DListNodePopPos(ListNode* head,ListNode* pos);//任意位置后删除
ListNode* ListNodeFindVal(ListNode* head, TYPE1 val);//查找
int ListNodeIsEmpty(ListNode* head);//查空
void ListNodeSize(ListNode* head);//节点个数
void ListNodeDestort(ListNode** head);//销毁
void TestDListNode();//测试
#endif 